// 客户端管理相关类型定义

// 客户端信息接口
export interface ClientInfo {
  id: string | number
  clientId: string
  clientName: string
  clientSecret?: string
  description?: string
  status: number // 0停用 1启用
  accessTokenValidity?: number // 访问令牌有效期（秒）
  refreshTokenValidity?: number // 刷新令牌有效期（秒）
  authorizedGrantTypes?: string[] // 授权类型
  scope?: string[] // 权限范围
  redirectUri?: string // 重定向URI
  createTime?: string
  updateTime?: string
  createBy?: string
  updateBy?: string
}

// 客户端查询参数
export interface ClientQueryParams {
  pageNum: number
  pageSize: number
  id?: string | number
  clientId?: string
  clientName?: string
  status?: number
}

// 客户端表单数据接口
export interface ClientFormData {
  id?: string | number
  clientId: string
  clientName: string
  clientSecret?: string
  description?: string
  status: number
  accessTokenValidity?: number
  refreshTokenValidity?: number
  authorizedGrantTypes?: string[]
  scope?: string[]
  redirectUri?: string
}

// 分页响应接口
export interface PageResponse<T = any> {
  records: T[]
  total: number
  size: number
  current: number
  pages: number
}

// API响应接口
export interface ApiResponse<T = any> {
  code: number
  message: string
  data: T
  success: boolean
}

// 客户端列表响应
export type ClientListResponse = ApiResponse<PageResponse<ClientInfo>>

// 客户端详情响应
export type ClientDetailResponse = ApiResponse<ClientInfo>